nsi-sys 0.1.14

Auto-generated bindings for Illumination Research’s Nodal Scene Interface – ɴsɪ.
Documentation

ɴsɪ-sys

Auto-generated Rust bindings for Illumination Research’s Nodal Scene Interface – ɴsɪ.

Build Documentation Crate Chat

You should not need to build this crate directly – unless you’re a masochist who wants to use the C-API directly from Rust.

Requirements

Clang/Bindgen

The generator makes use of bindgen, which depends on Clang. Instructions for installing bindgen’s dependencies for popular OSes can be found in their documentation.

While bindgen may complain about a missing llvm-config binary it is not actually required to build the crate. If you see a warning about llvm-config and a failed build, it's likely that you're having a different problem!

Compile- vs. Runtime

The crate builds as-is, with default features.

However, at runtime this crate requires a library/renderer that implements the ɴsɪ API to link against. Currently the only renderer that does is 3Delight.

If the feature flag download_lib3delight is enabled it fetches the dynamic library version of 3Delight 2.1.2 for Linux, macOS and Windows. This is used as a fallback, to build against, if you do not have the renderer installed on your system.

It is thus suggested that you download a 3Delight package for your platform & install it. This will set the DELIGHT environment variable that the build script is looking for to find a locally installed library to link against.

It will also install 3Delight Display which you can render to, progressively, as an alternative to writing images to disk.

Note: The free version of 3Delight (no registration required) will render with up to 12 cores on your machine. For crazier projects you can use their cheap cloud rendering service that gives you access to unlimited CPU cores.

High Level Bindings

There are high level Rust bindings for this API in the ɴsɪ crate.